Для установки Base выполните команду:
composer require pandcar/base
require 'vendor/autoload.php';
// Включение отладки
// 0 - выключено, 1 - только ошибки, 2 - полный отчёт
Base::$debug = 2;
$data = [
'host' => 'localhost',
'user' => 'root',
'pass' => '',
'base' => 'site-db',
'charset' => 'utf8'
];
$pdo = Base::connect('mysql', $data) or die('Нет подключения.');
// Самый короткий способ, по её id
$row = Base::get('table', 1);
// Массивом, равенство через and
$row = Base::get('table', [
'id' => 1,
'login' => $login
]);
// Более сложная логика
$row = Base::get('table', 'id = 1 or login = :login', [
'login' => $login
]);
// Запросом с указанием типа
$row = Base::query('SELECT * FROM `table` WHERE `id` = :id AND `login` = :login LIMIT 1', [
'id/int' => 1,
'login' => $login
]);
// Получение всех строк в виде массива
$array = Base::query(
'SELECT * FROM `table` WHERE `id` > :id', [
'id' => 5
],
'arr'
);
// Получение всех строк в виде генератора (в случаях когда не нужно грузить все данные разом в память)
$generator = Base::query(
'SELECT * FROM `table` WHERE `id` > :id', [
'id' => 5
],
'gen'
);
// Количество строк (короткий способ)
$count = Base::count('table', 'id > :id', [
'id' => 5
]);
// Количество строк запросом
$count = Base::query('SELECT COUNT(`id`) FROM `table` WHERE `id` > :id', [
'id' => 5,
]);
// Короткий способ, там где id = 5
$bool = Base::update('table', 5, [
'email' => $new_email,
'pass' => $new_pass
]);
// Другие условия
$bool = Base::update('table', [
'login' => $login
], [
'email' => $new_email,
'pass' => $new_pass
]);
// Запросом
$bool = Base::query('UPDATE `table` SET `email` = :email, `pass` = :pass WHERE `login` = :login', [
'email' => $new_email,
'pass' => $new_pass,
'login' => $login
]);
// Короткий способ
$insert_id = Base::add('table', [
'login' => $login,
'pass' => $pass,
'email' => $email
]);
// Запросом
$insert_id = Base::query('INSERT INTO `table` (`login`, `pass`, `email`) VALUES (:login, :pass, :email)', [
'login' => $login,
'pass' => $pass,
'email' => $email
]);
// Короткий способ, там где id = 5
$bool = Base::remove('table', 5);
// Тот же способ выбора как и у select